package com.hkp.demo.service;

import com.hkp.demo.entity.AuditResult;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hkp.demo.entity.vo.DimensionGroupVO;
import com.hkp.demo.entity.vo.ResultDayGroupVO;
import com.hkp.demo.entity.vo.RuleQualityVO;

import java.util.List;

/**
 * <p>
 * 稽核结果表 服务类
 * </p>
 *
 * @author HuKangPing
 * @since 2023-02-22 14:20:34
 */
public interface IAuditResultService extends IService<AuditResult> {

    /**
     * 获取当前日期前的所有警告或严重数或稽查总数
     * @param day 当前日期
     * @param result 运行结果
     * @return 当前日期前的所有警告或严重数
     */
    Long getAllAuditNum(String day,String result);

    /**
     * 当前日期的稽核次数
     *
     * @param day    当前日期
     * @param result 运行结果
     * @return 当前日期的稽核次数
     */
    Long getCurrentDayAuditNum(String day, String result);

    /**
     * 查询当天的维度名称和对应的警告次数
     * @param day
     * @return
     */
    List<DimensionGroupVO> getDimensionGroupVO(String day);

    /**
     * 获取从开始那天的一个月内每天的稽查总数，警告数，和严重数
     * @param day
     * @return
     */
    List<ResultDayGroupVO> getResultDayGroupVO(String day);

    /**
     * 查询当天的规则质量出现警告和严重次数的top10，并且将无警告和严重的去掉
     * @param day
     * @return
     */
    List<RuleQualityVO> getRuleQualityVO(String day);

    /**
     * 查看月份内有执行记录的天的集合
     * @param month
     * @return yyyy-MM-dd天的集合
     */
    List<String> getListExecCalendar(String month);
}
